package youleche.com.sql.idao;

import java.sql.Connection;
import java.util.List;

import youleche.com.sql.model.MTableField;

/**
 * 表字段接口
 * @author Administrator
 *
 */
public interface ITableField {
	/**
	 * 根据tableId获取字段
	 * @param con 数据库连接
	 * @param tableId 表ID
	 * @return 返回所有字段
	 * @throws Exception 异常
	 */
	public List<MTableField> getTableFieldsByTableId(Connection con, String tableId) throws Exception;
	
	/**
	 * 添加表字段
	 * @param con 数据库连接
	 * @param tablefield 表字段对象
	 * @return 返回影响的行数
	 * @throws Exception 异常
	 */
	public int addTableFields(Connection con, MTableField tablefield) throws Exception;
	
	/**
	 * 获取最大的字段ID
	 * @param con 数据库连接
	 * @param tableId 表ID
	 * @return 返回最大的fieldId
	 * @throws Exception 异常
	 */
	public int getMaxFieldIdByTableId(Connection con, String tableId) throws Exception;
	
	/**
	 * 得到备用字段的数量
	 * @param con 数据库连接
	 * @return 返回备用字段的数量
	 * @throws Exception 异常
	 */
	public int getReadyFieldNum(Connection con, String tableId) throws Exception;
	
	/**
	 * 判断是否存在该字段
	 * @param con 数据库连接
	 * @param englishName 字段英文名称
	 * @param tableId 表ID
	 * @return 返回是否存在该字段
	 * @throws Exception 异常
	 */
	public boolean isExistFieldByFieldEnglishNameAndTableId(Connection con, String englishName, String tableId) throws Exception;
	
	/**
	 * 通过表ID和英文名称更新字段
	 * @param con 数据库连接
	 * @param tablefield 字段信息
	 * @return 返回更新影响的行数
	 * @throws Exception 异常
	 */
	public int updateFieldByIdAndEnglishName(Connection con, MTableField tablefield) throws Exception;
}
